const BaseController = require('./base_admin_controller.js');
const UserMgrService = require('../../service/admin/user_mgr_service.js');

/**
 * 用户管理
 */
class UserMgrController extends BaseController {

    /**
     * 列表
     */
    async list() {
        // 数据校验
        let rules = {
            keyword: 'string|min:1|max:10|name=搜索关键字',
            page: 'integer|default:1|name=页码',
            size: 'integer|default:20|name=每页数量'
        };
        // 取得数据
        let params = this.validateData(rules);
        let service = new UserMgrService();
        return await service.list(params);
    }

    /**
     * 编辑
     */
    async save() {
        // 数据校验
        let rules = {
            _id: 'must|string|name=ID',
            user_nickname: 'string|name=用户昵称',
            user_phone: 'must|mobile|name=用户手机号',
            user_is_admin: 'integer|name=是否管理员',
            sort: 'integer|name=排序',
        };
        // 取得数据
        let params = this.validateData(rules);
        let service = new UserMgrService();
        return await service.save(params);
    }

}

module.exports = UserMgrController;